public class Solution {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> lists = new ArrayList<>();
        for(int i = 1; i <= numRows; i++) {
            List<Integer> list = new ArrayList<>(i);
            for(int j = 0; j < i; j++) {
                if(j == 0 || j == i - 1) {
                    list.add(j, 1);
                } else {
                    List<Integer> l1 = lists.get(lists.size() - 1);
                    list.add(l1.get(j - 1) + l1.get(j));
                }
            }
            lists.add(list);
        }
        return lists;
    }
}